package interpretador;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;

import parteLexica.AnalisadorLexico;
import parteLexica.AnalisadorLexicoConcreto;
import parteSemantica.AnalisadorSemantico;
import parteSemantica.AnalisadorSemanticoConcreto;
import parteSemantica.AvaliadorExpressao;
import parteSintatica.AnalisadorSintatico;
import parteSintatica.AnalisadorSintaticoConcreto;

//classe para teste dos m�todos

public class Main {

	public static void main (String args[]) throws IOException, InterruptedException{
		
		AnalisadorSintatico analisadorSintatico = new AnalisadorSintaticoConcreto();
		AnalisadorLexicoConcreto analisadorLexico = new AnalisadorLexicoConcreto();
		AnalisadorSemanticoConcreto analisadorSemantico = new AnalisadorSemanticoConcreto();
		
		analisadorSintatico.analiseSintatica(analisadorLexico,analisadorSemantico);
		
			
				
//		AnalisadorLexicoConcreto a = new AnalisadorLexicoConcreto();
//		
//		//a.analiseLexica("let huhu (c:int,j:int):int = let a:int;; let b:int;; a + b;;let x:float = 10.;;let y:float = 2.;;let c:int = 5;;let expressao:int = (x*.x)-.y+(int)c;;");
//		a.analiseLexica("let matriz_a : int array array = [9;2;5][4;6;7][2;5;3];; let matriz_b : int array array = [5;1;3][3;8;9][6;1;4];; let soma : int array array = matriz_a + matriz_b;;");
//		//a.analiseLexica("let matriz_a : int = 10");
//		TabelaDeSimbolos t = new TabelaDeSimbolos(a.getLexema());
//		t.print();
//		//a.printLexemas();
	}
}